home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / C / ASCFIL.ZIP / RECORD.H < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-01  |  1.8 KB  |  86 lines

  1. //*                           Record.H
  2. //*
  3. //*           Header file for the Record.Cpp Class functions
  4. //*
  5. //*
  6. //**************************************************************************
  7.  
  8. #ifndef RECORD_H
  9. #define RECORD_H
  10.  
  11. #include <string.h>
  12.  
  13. #ifndef TRUE
  14. #define TRUE 1
  15. #endif
  16.  
  17. #ifndef FALSE 
  18. #define FALSE 0
  19. #endif
  20.  
  21. //**************************************************************************
  22. class FieldDef {
  23.  
  24. public:
  25.     FieldDef(char *name, int size, int offset)
  26.     {
  27.         Name = new char[strlen(name)+1];
  28.         strcpy(Name,name);
  29.                 Width  = size;
  30.                 Offset = offset;
  31.     };
  32.  
  33.     ~FieldDef(void)
  34.     {
  35.         delete Name;
  36.     };
  37.  
  38.     char    *Name;
  39.         int      Width;
  40.         int      Offset;
  41.         int      Type;
  42. };
  43.  
  44.  
  45. //**************************************************************************
  46. class Record {
  47. private:
  48.     void init(void);
  49.  
  50. protected:
  51.     FieldDef    **fields;
  52.         int               fldCount;
  53.         int               fldArraySize;
  54.         int               recLen;
  55.     
  56. public:
  57.     Record(void);
  58.     Record(char *fldFile);
  59.     ~Record(void);
  60.  
  61.     int addField(char *name, int width);
  62.  
  63.     int getFieldNum(char *name);
  64.         const char* getFieldName(int fldNum);
  65.  
  66.     int getField(char *name, char *field);
  67.     int getField(char *name, int &field);
  68.     int getField(char *name, long &field);
  69.     int getField(char *name, float &field);
  70.         int getField(char *name, double &field);
  71.  
  72.         int getField(int fldNum, char *field);
  73.     int getField(int fldNum, int &field);
  74.     int getField(int fldNum, long &field);
  75.     int getField(int fldNum, float &field);
  76.         int getField(int fldNum, double &field);
  77.  
  78.         int getFieldWidth(int fldNum);
  79.         int getFieldWidth(char *name);
  80.  
  81.     char*    Buffer;
  82.         int     Length(void);
  83. };
  84.  
  85. #endif
  86.